package ex01;

import java.io.IOException;
import java.io.InputStream;

/**
 * Created by Administrator on 2016/2/29.
 */
public class Request {
    private InputStream input;
    private String Uri;
    public Request(InputStream input) {
        this.input = input;
    }

    public void parse(){
        //Read a set of characters from the socket
        StringBuffer request = new StringBuffer(2048);
        int i ;
        byte[] buffer = new byte[2048];
        try {
            i = input.read(buffer);
        } catch (IOException e) {
            e.printStackTrace();
            i = -1;
        }
        for (int j = 0;j<i;j++){
            request.append((char)buffer[j]);
        }
        System.out.print(request.toString());
        Uri = parseUri(request.toString());
    }

    public String parseUri(String requestString){
        int index1,index2;
        index1 = requestString.indexOf(" ");
        if (index1 != -1){
            index2 = requestString.indexOf(" ",index1 + 1);
            if (index2 > index1)
                return requestString.substring(index1 + 1,index2);
        }
        return null;
    }

    public String getUri() {
        return Uri;
    }
}
